查看原文
其他

ICLR 2021 | 使用CVAE学习干扰集,增强OOD以及对抗防御的能力

张一帆 PaperWeekly 2022-07-04


©PaperWeekly 原创 · 作者 | 张一帆

学校 | 中科院自动化所博士生

研究方向 | 计算机视觉


本文主要介绍对抗攻击/防御的基本概念和一篇论文的亮点。

论文标题:

Learning perturbation sets for robust machine learning


论文链接:

https://arxiv.org/abs/2007.08450




Overview of adversarial attacks and defenses

1.1 Adversarial attacks

对抗性攻击通常被定义为一个优化问题,在这个问题中,“对手”试图在一组允许的扰动上最大化分类器的损失。特别的,给定一个数据点 ,一个分类器 和一个损失 ,使得 表示我们允许的扰动集合,那么一个对抗攻击的样本可以写作如下优化问题的解:

通过定义或限制  可以获得不同类型的对抗性例子。例如,我们可以定义具有一般距离度量 的对抗集合如下:

如果 ,这就是通常所说的 对抗样本,用来捕获“难以察觉的”非结构化噪声。对于图像来说,这个距离可以由定义良好的空间转换产生,例如旋转的角度数或平移产生。然而对于真实世界的对抗攻击而言, 要复杂得多。也就是说,如果 太小那么完全不足以模拟真实世界的对抗工具,但是 太大又会包含所有的样本,因此 -ball 并不是很合适。
1.2 Adversarial defenses
对抗性防御是学习对对抗性攻击具有鲁棒性的分类器的方法,可以建模为如下的 min-max 问题:

显然这个优化问题也很大程度上依赖于 ,目前的工作大多数关注 是一个 -ball 的简单情况来分析 bound,设计算法等,与真实世界相距甚远。
这篇文章的亮点在于用生成模型建模对抗样本集合,从而弥合了现实世界的攻击和 对抗性防御之间的差距。



Defining perturbation sets with generative modeling

首先 high-level 的介绍一下作者的主要目的,给定一个训练集合 ,其中 的扰动版本。我们的目的是训练一个条件生成器:

基于一个隐变量 映射到 ,正式定义如下:

可以看到这里 即代表了不同的扰动。这样一个生成模型更加复杂,也更加的有力!
我们也可以通过概率的角度理解这个事情:

扰动集的这种表征导致了一个定义良好的生成过程,允许我们抽取随机样本,使其非常适合于一般情况下的稳健性。

虽然看起来这东西好像很 work,但是我们不禁要问:“为什么此处的 能够包含真实世界的扰动?”由于定义扰动集的生成器是从数据中学习的,我们必须仔细评估这个扰动集的质量。接下来我们简要讨论文中提出的两个用于评测的标准。



Necessary subset property(NSP)

学到的扰动集至少要是训练数据集的一个很接近的近似,稍微正式一点就是说。给定一个近似误差 ,我们的 满足 Necessary subset property 当且仅当对于任意一个数据对 ,存在一个 使得
换句话说,我们观察到的扰动集合是学到 的一个下界,那么我们在 上的 worst-case loss 就是观察集合上的 upper-bound。而传统的 -ball 永远有 0 近似损失。


Sufficient likelihood property(SLP)

但是只有上述条件还不够,考虑 ,那么 NSP 总是满足的(it contains everything),但是这个 本身是非常不合理的。因此第二条我们限制这个扰动集合不要包含的太多,给定 和数据 ,SLP 条件可以定义为:

为什么这个条件可以限制扰动集不应该包含“太多”,因为它必须赋予期望中的真实数据很高的可能性。这有效地限制了扰动集的范围,并激发了它作为一种通过从潜在空间采样的随机数据扩充形式的使用。

总结一下 NSP 和 SLP 分别从上下界的形式限制了扰动集,使得扰动集能够反映真实世界的扰动。



Learning perturbation sets with conditional variational autoencoders

接下来主要看一下文章是如何利用 CVAE 来学习一个满足上述条件的生成器的。传统 CVAE 的训练过程是这样的,基于隐变量 和任意变量 来生成 ,而这里的话任意变量反而是 ,生成目标是 ,所有的概率分布被建模成遵循对角方差的多元正态分布:

CVAE 的训练目标即 ELBO:
所以将本文对应的 CVAE 的生成过程公式化一下就是:

用伪代码描述一下就是:

def generator(X,z): 
    prior_params = cvae.prior(X)
    z = cvae.reparameterize(prior_params, z)
    return cvae.decode(X,z)
然后通过将隐空间限制在一个 -ball 中我们就能得到一个扰动集:

现在问题转化为如何为扰动集选择一个合适的半径 ,太小的  会使得扰动集太小无法建模真实扰动,太大的话容易包含不真实的扰动。文中通过如下方式确定 的值:

其中 是 CVAE 计算出后验概率分布的均值, 是先验概率的均值和方差。
由于 CVAE 的后验均值被训练为重构扰动数据,因此这种估计确保了所得到的扰动数据包含合理的版本(训练数据)。为了使得这个计算不对训练集过拟合,一般使用 held-out 的验证集进行计算。



Theory of CVAEs and perturbation sets

最后,模型已经明晰了,作者给出两个定理证明了在一定条件假设下,优化 CAVE 的目标学到的模型能够满足上述的两个条件。这里不涉及具体证明细节,只说一说为什么或者证明的大概思路。
首先作者对后验概率和 KL 散度进行约束,给他们一个 bound。


这里可以和之前的两个条件联系起来,NSP 为了约束模型对数据集的拟合,加上了扰动样本近似误差上界的限制,而 SLP 为了确保扰动集“不太大”加上了对后验概率下界的限制,这里将 CVAE loss 的两个部分给上 bound,因此证明方向是这样的:



  1. 对于 NSP,我们只需要将 upper bound 使用 CVAE loss 假设的两个值做个 bound 即可。


  2. 对于 SLP,我们本应该找 SLP 中的 值与 之间的关系,不过这里找到了他的替代——为重构损失找个上界等价于对似然找个下界,这也是上面这个定理的与 SLP 之间的联系。
这两个定理的主要结论是,优化 CVAE 目标自然会得到一个满足 NSP 和 SLP 的扰动集。因此,学习的扰动集对于对抗鲁棒性是有用的,因为必要的子集性质意味着扰动集不会错过被扰动的数据。它对于数据扩充也很有用,因为充分似然性质保证了扰动数据以高概率发生。



Experiments


通过学习产生的扰动集可以很好的提升 OOD 的性能,其效果相比于其他 baseline 堪称惊艳。

特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。


更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存